﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;


namespace Starfox
{
    class Tiro : GameObject3D
    {
        //variavel que determina a posição da nave
        Vector3 tiroPos;


        public Tiro(GraphicsDevice graphicsDevice, ContentManager Content, GameWindow Window, BasicCamera camera,Vector3 tiroPos): base()
        {
            //Carrega o modelo da nave
            this.Model = Content.Load<Model>("SpaceShooter/Space_Shooter");

            //determina a posição inicial da nave
            this.tiroPos = tiroPos;

        }
        public void Update(GameTime gameTime, GameWindow Window)
        {

            #region movimento
            
            //preciso testar *primeiro* se a posição futura é válida para não travar, por isso a guardo...
            Vector3 posicaoFutura = Posicao;

            //estas duas variáveis temporárias servem para o giro e o movimento
            float quantoVirar = 0;
            float quantoInclinar = 0;
            Vector3 movimento = Vector3.Zero;

            //  aceleração permanente
            movimento.Z -= 1;
            
            //corrijo pela escala da velocidade
            Vector3 velocidade = movimento;

            //agora sim esta será a nova posicao do objeto
            posicaoFutura = Posicao + velocidade;
            //
            Posicao = posicaoFutura;


            

            #endregion

            this.World = Matrix.CreateScale(0.1f) 
                * Matrix.CreateTranslation(Posicao);          
        }

        public void Draw(GameTime gameTime, BasicCamera camera, SpriteBatch spriteBatch, GameWindow Window)
        {
            //desenha o modelo
            this.Desenhar(camera);

        }
    } 
}
